﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Ewell.BizComponent.Charge.UI.VM.CashierStepVm;
using System.Windows.Controls;
using Ewell.BizComponent.Charge.Model;

namespace Ewell.BizComponent.Charge.UI.VM
{
    /// <summary>
    /// 收费页
    /// </summary>
    public abstract class CashierBaseVm:NotifyPropertyChanged
    {
        
        /// <summary>
        /// 选择医保费别页
        /// </summary>
        private Page _chooseInsurTypePage;
        public Page chooseInsurTypePage
        {
            get { return _chooseInsurTypePage; }
            set
            {
                if (value != _chooseInsurTypePage)
                {
                    _chooseInsurTypePage = value;
                    OnPropertyChanged(nameof(chooseInsurTypePage));
                }
            }
        }
        /// <summary>
        /// 读卡页
        /// </summary>
        private Page _readCardPage;
        public Page readCardPage
        {
            get { return _readCardPage; }
            set
            {
                if (value != _readCardPage)
                {
                    _readCardPage = value;
                    OnPropertyChanged(nameof(readCardPage));
                }
            }
        }
        /// <summary>
        /// 选择项页
        /// </summary>
        private Page _dataSelectPage;
        public Page dataSelectPage
        {
            get { return _dataSelectPage; }
            set
            {
                if (value != _dataSelectPage)
                {
                    _dataSelectPage = value;
                    OnPropertyChanged(nameof(dataSelectPage));
                }
            }
        }
        /// <summary>
        /// 显示页
        /// </summary>
        private Page _framePage;
        public Page framePage
        {
            get { return _framePage; }
            set
            {
                if (value != _framePage)
                {
                    _framePage = value;
                    OnPropertyChanged(nameof(framePage));
                }
            }
        }
        /// <summary>
        /// 当前页
        /// </summary>
        private Page _localPage;
        public Page localPage
        {
            get { return _localPage; }
            set
            {
                if(value != _localPage)
                {
                    _localPage = value;
                    OnPropertyChanged(nameof(localPage));
                }
            }
        }
        /// <summary>
        /// 收费上下文
        /// </summary>
        public CashierContext context { get; set; }

        public virtual StepLoading stepLoading => new StepLoading(context =>
        {
            
        });

        public virtual StepHandler stepHandler => new StepHandler(context =>
        {
            
        });
    }
}
